package main

import (
	"fmt"
	"time"
)

// goroutine
//并发:同一时间段内执行多个任务
//并行：同一时刻执行多个任务
//Go语言并发通过goroutine实现。goroutine类似线程，属于用户线程池，是有go语言的runtime调度完成的。
//go语言提供channel在多个goroutine之间通信。
// go语言中实现并发只需要在任务函数前加go关键字
func hello() {
	fmt.Println("hello")
}

// 程序启动后创建一个主goroutine执行
func main() {
	go hello() // 开启一个单独的goroutine执行
	fmt.Println("main")
	time.Sleep(time.Second)
}
